import java.util.HashMap;

public class VetorDistancia {
	private HashMap<Integer, Custo> vetorD;
	private int Id;

	public VetorDistancia(int id) {
		setVetorD(new HashMap<Integer, Custo>());
		this.setId(id);
	}

	public Custo get(int id) {
		return getVetor().get(id);
	}

	public void put(int id, Custo c) {
		getVetor().put(id, c);
	}

	public boolean containsKey(int id) {
		return getVetor().containsKey(id);
	}

	@Override
	public boolean equals(Object arg0) {
		if (arg0 instanceof VetorDistancia) {
			VetorDistancia v = (VetorDistancia) arg0;
			boolean ok = (this.getId() == v.getId());
			if (ok){
				for (Integer key : this.getVetor().keySet()) {
					if (!this.getVetor().get(key).equals(v.getVetor().get(key))) {
						return false;
					}
				}
				for (Integer key : v.getVetor().keySet()) {
					if (!v.getVetor().get(key).equals(this.getVetor().get(key))) {
						return false;
					}
				}
			}
			return ok;
			
		}else{
			return false;
		}
	}

	public void setVetorD(HashMap<Integer, Custo> vetorD) {
		this.vetorD = vetorD;
	}

	public HashMap<Integer, Custo> getVetor() {
		return vetorD;
	}

	public void setId(int id) {
		Id = id;
	}

	public int getId() {
		return Id;
	}
	
	@Override
	public String toString() {
		String ret = new String();
		ret += this.getId() + ":[";
		
		for (Integer key : vetorD.keySet()) {
			if(key < 20){
				ret += key + "=";
				ret += vetorD.get(key).getCusto() + ", ";
			}
		}
		ret += "]\n";
		return ret;
	}
}
